package WebServices
{
	import flash.errors.IllegalOperationError;
	
	public final class UserRole
	{
		public static const SystemAdmin:UserRole = new UserRole();
		public static const DatabaseAdmin:UserRole = new UserRole();
		public static const DataAnalyst:UserRole = new UserRole();
		public static const DataEntryOperator:UserRole = new UserRole();
		public static const DataCheckOperator:UserRole = new UserRole();
			
		private static var locked:Boolean = false;
		
		// static initialization block to lock the class and prevent any 
		// further instantiation.
	    {
	      locked = true;
	    }
	    
	    // AS3 doesn't allow private constructors!!!
		public function UserRole():void
		{
			if(locked)
			{
				throw new IllegalOperationError("You can't instantiate UserRole");
			}
		}
	}
}